##implement
概念 : 将该依赖隐藏在内部,而不对外部公开。
理解 : 在 app mudule 中使用 implement 依赖的第三方库, 在其他 mudule 是无法调用的.
举例 : 此时项目中有一个 mudule 是 ImageLoader ,其内部用 implement 指令依赖了 glide 这个库, 那么此时我们在 app mudule 中无法调用 glide 库中的方法.

##compile
概念: android studio 3.0 版本后废弃该指令 改用 api 代替, api 完全等同于之前的 compile 指令, 也就是普通的依赖, 第三方库在 mudule 中依赖后其他 mudule 都可以使用该库.
官方推荐在不影响的前提下优先使用 implement 指令依赖.

.iml文件

iml是 intellij idea的工程配置文件,里面是当前project的一些配置信息
可以配置不输出文件夹。

build文件夹中的generated intermediates

成功build后会产生以下文件夹:
generated
The “generated“ folder contains java code generated by Android Studio for the module. The primary file here is “R.java“ which assigns symbolic names to each of the items in the “res” directory so they can be referenced in java source code.
intermediates
The “intermediates“ folder contains individual files that are created during the build process and which are eventually combined to produce the “apk” file.

Android视图与Project视图

Project视图
Project视图是真实的文件结构,真实文件就是这么存放的。
Android视图:
可以说是build成功后根据配置信息,生成的结构。结构与配置信息有关,与build文件夹有关。不是真实文件的存放方式。其项目树的名字也不一定是真实名字,与配置信息有关。